// Modules to control application life and create native browser window
const { app, BrowserWindow, BrowserView } = require("electron");
const path = require("node:path");
/**
 * 创建 window 窗口
 * **/
function createWindow() {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800, // 笔者是将 宽高 列为配置
    height: 600,
    show: false,
    title: "XXXX",
    icon: "XXXX",
  });
  // and load the index.html of the app.
  mainWindow.loadFile("index.html");
  // 是否显示顶部菜单
  // mainWindow.setMenu(null);
  return mainWindow;
}
/**
 * 创建 pc 窗口
 * **/
function loadPC(BrowserWindow) {
  const view = new BrowserView({
    webPreferences: {
      preload: path.join(__dirname, "preload.js"), // 这个 js 后面讲
      devTools: true, // 调试面板
    },
  });
  BrowserWindow.setBrowserView(view);
  // 设置 网页初始大小
  view.setBounds({ x: 0, y: 0, width: 800, height: 600 });
  // 宽高 自动变换
  view.setAutoResize({
    width: true,
    height: true,
  });
  // 内嵌地址，可填本地地址
  // view.webContents.loadURL(getSourceUrl(path.join(__dirname, "index.html")));
  view.webContents.loadURL('file:///D:/aaa/a-electrons/electron-quick-start-main/electron-dist/win-unpacked/resources/app.asar.unpacked/index.html');
  console.log(getSourceUrl(path.join(__dirname, "index.html")),0);
  
  // 网页加载完毕 再显示窗口
  BrowserWindow.once("ready-to-show", function () {
    BrowserWindow.show();
    // 打开调试面板
    view.webContents.openDevTools();
  });
  if (process.env.NODE_ENV !== 'production') {
    view.webContents.openDevTools();
  }
  return view;
}
app.whenReady().then(() => {
  let win = createWindow();
  // 加载 内嵌 网址
  loadPC(win);
});

// 资源URL获取函数
const getSourceUrl = (url) => {
  return url.replace("app.asar", "app.asar.unpacked");
};
